// 引入axios

import axios from "axios";
import { ElMessageBox } from 'element-plus'

// 配置axios

let http = axios.create({
    // 基础地址
    baseURL: '/api',
    // 超时设置
    timeout: 1000 * 10,
    // 是否携带凭据
    withCredentials: true,
})

// 配置拦截器

// 请求拦截器，所有的axios请求都会被拦截器拦截，可以通过拦截器添加额外的配置

http.interceptors.request.use(config => {
    return config
})

// 响应拦截器，所有的响应都会被响应拦截器拦截，可以对拦截的响应进行额外的配置

http.interceptors.response.use(config => {
    // config是每个请求响应的结果，所有的请求返回的结果都需要经过这条们
    if(config.data.state){
        // 响应是正常的
        return config
    }else {
        // 响应错误
        ElMessageBox.alert(config.data.msg,'错误提示',{type:'error'})
       
        return Promise.reject(config.data.msg)
    }
    
})
export default http